#define _CRT_SECURE_NO_WARNINGS 1

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */

# include<iostream>
using namespace std;

 struct ListNode {
    int val;
    ListNode* next;
    ListNode(int x) : val(x), next(NULL) {}
    
};
 class Solution {
 public:
     bool hasCycle(ListNode* head) {
         ListNode* newHead = new ListNode(0);
         newHead->next = head;
         ListNode* fast = head;
         ListNode* slow = newHead;
         while (fast && fast->next)
         {
             slow = slow->next;
             fast = fast->next->next;
             if (fast == slow)
                 return true;
         }
         return false;

     }
 };

 int main()
 {
     cout << "hehe" << endl;
     return 0;
 }